首先,如果电脑配置挺好的,也没有运行太多程序的,建议还是使用完善的IDE编写带包的Java代码,省心!
因为我电脑上跑着各种程序,打开IEDA这个庞然大物有时候比较难受,因此,喜欢用VS Code一点点写一些不用太多依赖的代码。当然了,如果需要各种Maven,spring等等,还是别在编辑器上太多时间。
这里我采用了非常笨的方法(
我也想不出其它的了),利用cmd中的命令提取java文件中我指定的包
xxxxxxxxxx"java": "cd $dir && javac -d . $fileName && CMD /C 'for /f 'tokens=1,2 ' %i in ($fileName) do if %i==package java %j.$fileNameWithoutExt &exit'",原本的命令就是cmd中的,因此用CMD /C " **"的方式在powershell中运行。
这里主要是利用批处理命令做的,只不过要在终端中直接运行,会略微有区别。大家可以详细地了解一下cmd命令。
这里解释一下上面的命令,以便适当修改

最后,便是CMD /C 中的命令,
for /f in %i in (filename) do :是从一个名为filename的文件里按行提取数据并打算做点什么的命令。 do后面可以跟一些操作,%i也可以随便写%a之类的,当然不要乱写个%~I之类的,搞不好有什么其它作用
“tokens=1,2 ”,记得要在2后面留个空格,不然可能无法提取到包的值。实际在cmd里面是用的双引号,只不过,在插件的配置中,外面已经有双引号,所以上面的命令用的是单引号。
for /f "tokens=1,2 delims=,"根据上面的意思,%i就是获取每行第一个值,自然第一行一个值就是package,当然你可能写一些其它乱起八糟的,那样我可能无能为力。 do后面跟着的if命令就是我们熟悉的那个,不需要额外介绍了。
最后,加个&exit,就是找到第一个package完成编译就退出,否则,它还会往后遍历各行查找package。
写带各种包的,还是用IDE吧。时间还是多折腾在代码上。